package trab4;

import java.util.*;

import sim.core.*;
import sim.util.*;

class NodeDB {
	static RandomList<Node> nodes = new RandomList<Node>();
	static TreeMap<Integer, Node> k2n = new TreeMap<Integer, Node>();

	static int store( Node n) {
		nodes.add(n) ;
		int key = k2n.size() ;
		k2n.put( key, n ) ;
		return key ;
	}

	static void dispose( Node n) {
		if (n != null) {
			k2n.remove(n.key);
			nodes.remove(n);
			n.dispose();
		}
	}

	static int size() {
		return k2n.size();
	}

	static Node randomNode() {
		return nodes.randomElement();
	}

	static RandomList<EndPoint> endpoints() {
		RandomList<EndPoint> res = new RandomList<EndPoint>();
		for (Node i : nodes)
			res.add(i.endpoint);
		return res;
	}
}